package com.one.group.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Table("sp_contract")
public class Contract implements Serializable {

    @Id(keyType = KeyType.Auto)
    @Column("id")
    private Long id;

    @Column("contract_number")
    private String contractNumber;

    @Column("tenant_name")
    private String tenantName;

    @Column("sign_date")
    private Date signDate;

    @Column("tenant_contract")
    private String tenantContract;

    @Column("contract_status")
    private Integer contractStatus;

    @Column("lease_term")
    private Integer leaseTerm;

    @Column("end_date")
    private Date endDate;

    @Column("start_date")
    private Date startDate;

    @Column("deposit")
    private BigDecimal deposit;

    @Column("agency_fee")
    private BigDecimal agencyFee;

    @Column("total_rent")
    private BigDecimal totalRent;

    @Column("remark")
    private String remark;

    @Column("resource_id")
    private Long resourceId;

    @Column("create_time")
    private Date createTime;

    @Column("update_time")
    private Date updateTime;

    @Column("tenant_phone")
    private String tenantPhone;

    @Column(tenantId = true)
    private Long tenantId;
}
